package com.ly.test.handle;

import cn.hutool.core.util.StrUtil;
import com.ly.common.core.bean.dto.MsgDTO;
import com.ly.common.core.exception.ServiceException;

/**
 * 消息接口
 *
 * @author luoyun
 */
public interface IMsgService {

    /**
     * 是否支持
     * @param type
     * @return
     */
    Boolean supports(String type);

    /**
     * 发送信息
     */
    default void sendMsg(MsgDTO dto){
        String toUser = dto.getToUser();
        String title = dto.getTitle();
        String msgContent = dto.getMsgContent();
        if (StrUtil.isEmpty(toUser)) {
            throw new ServiceException("被发送人不能为空");
        }
        if (StrUtil.isEmpty(title)) {
            throw new ServiceException("标题不能为空");
        }
        if (StrUtil.isEmpty(msgContent)) {
            throw new ServiceException("消息内容不能为空");
        }
    }

    /**
     * 发送信息
     *
     * @param dto
     */
    void sendMessage(MsgDTO dto);
}
